1. Field of the Invention
This invention relates to a method and apparatus for determining the range of objects for use in fields such as robotic vision and is particularly useful in generating dense range maps at high speed without using any mechanical motion. It uses a projector to project a series of striped patterns of light onto the object and a television camera to capture the stripe covered scene. The decoding of the video frames to obtain the range map is accomplished in the 2's complement domain.
2. Description of the Prior Art
Vision plays an important role in automating various kinds of tasks in industry and in the military. Three-dimensional vision is an indispensable sensing capability in accomplishing the task of closing the feedback loop so that the system can adapt to the situation and execute the mission effectively under an unstructured environment. It would be very helpful to have three-dimensional capability as well as conventional two-dimensional imaging capability in order to provide more reliable information to the system controller. There are many application areas that could benefit in terms of productivity and force multiplying factors, such as inspection and inventory of three-dimensional parts, three-dimensional navigation for autonomous vehicles, surveillance, and inspection in nuclear plants. Many efforts have been made to obtain the range information mainly in two technical categories.
The first category is the so-called "2.X-D" or quasi three-dimensional, 3-D, technique where range measurement of all the resolvable picture elements in the field of view is avoided. Instead, the ordinary gray scale two-dimensional image is combined with a priori knowledge with the help of artificial intelligence to estimate the range profile. Alternatively, the two-dimensional image is combined with any of many degrees of sparse range measurements varying from a single average range measure to the measurement of selected points of interest. The fraction X indicates how closely the specific technique performs as faithfully as a three-dimensional system. The advantage of the technique in this category is the speed of data acquisition. The disadvantage is unavoidable ambiguity when it is used in the unstructured environment.
The second category of ranging techniques is the "3.0-D", so to speak, or pure three-dimensional technique where the range measurement is done for every pixel in the field of view. The approach generates a "dense range map" mainly by using active structured light illumination. Since this is a metrological measurement, it is not associated with any ambiguity due to the estimation which was unavoidable in the 2.X-D approaches. This category can be divided into three techniques. The first is a single beam scanning technique that uses a mechanical, beam steering device and performs the range measurement point by point by evaluating the time-of-flight or the phase of the coded return beam. It is a suitable method for a subject located at a distance because it uses the given light most efficiently on the specific point in the field of view and maximizes the signal-to-noise ratio. The shortcomings of this technique are the slow speed due to the time consumed in scanning and the necessity of using a mechanical component for scanning.
The second technique in the 3.0-D category of ranging methods utilizes the projection of a stripe instead of a point onto the object space with an obliquity angle THETA. A television camera looking at the same object captures the scene with a two-dimensional detector array. The straight stripe appears to be deformed in the captured video frame due to the obliquity angle of the projection, and the post data acquisition process translates the amount of deformation into the surface profile using simple trigonometry. This technique has a distinct advantage over the last-mentioned technique: the elimination of both the undesirable mechanical scanner and the sophisticated phase measurement requirement. It is especially suited to the situation such as the inspection of the parts flowing on the belt conveyor and as an optical welding seam follower. The drawback of this technique is still the slow speed. An entire frame time must be spent to evaluate the result of a single stripe. If the scene is to be covered by 256 stripes, it requires 7 seconds at least just to record the data, assuming an ordinary 30 msec framing time. Thus, it is too slow for many real-time recognition applications.
A third technique in the "3.0-D" ranging category utilizes the projection of a multistripe pattern. Since one pattern covers the entire field of view, a single video frame can be used to obtain the amount of deformation of all the stripes. It is, therefore, a highly efficient data acquisition technique. This is true, however, only when the deformed stripe appears as a continuous function. If there is any discontinuity in the surface profile, the stripes are not continuous at the boundary which creates a serious ambiguity. Thus, this technique is limited to the analysis of relatively smooth surfaces or restricted to the evaluation of the local slopes. It is not ideal for reliable object recognition in an unstructured environment.
The problem is how to solve the dilemma created by the second and the third techniques in the "3.0-D" category of ranging methods. If the speed is improved, the technique suffers from the ambiguity. If the ambiguity is eliminated, the technique suffers from slow speed.
It is the primary object of the present invention to provide a method and apparatus for generating dense range maps at high speed without using mechanical motion and without creating any ambiguities.